1. Field of the Invention
The present invention relates to data transfer through a communication channel, and, more particularly, to channel optimization metrics for detection of data read from a recording medium.
2. Description of the Related Art
A read channel component is an integrated circuit (IC) of a computer hard disk (HD) drive that encodes, detects and decodes data, enabling a read/write head to correctly i) write data to the disk drive and ii) read back the data. The disks in an HD drive have a number of tracks, each track consisting of i) user (or “read”) data sectors and ii) control (or “servo”) data sectors embedded between the read sectors. Information stored in the servo sectors is employed to position the head (e.g., a magnetic recording/playback head) over a track so that the information stored in the read sector can be retrieved properly.
FIG. 1 shows information of servo sector 100 of a prior art HD drive. Servo sector 100 comprises preamble 101, (encoded) servo address mark (SAM) 102, (encoded) Gray data 103, burst demodulation (demod) field 104, and repeatable run-out (RRO) field 105.
Preamble 101, which is typically a 2T pattern, allows for timing recovery and gain adjustment of the written servo data. SAM 102 is an identifier of fixed bit-length that identifies the beginning of servo data, with the value for this identifier the same for all servo sectors. Gray data 103 represents the track number/cylinder information and provides coarse positioning information for the head. Burst demod field 104 provides fine positioning information for the head. RRO data 105 provides head positioning information that is i) finer than that provided by Gray data and ii) coarser than that provided by the burst demodulation fields. Specifically, RRO data 105 is typically employed to compensate for when the head does not follow a circular track around the disk.
Digital signal processing techniques are commonly employed during detection of servo sector information, although older systems employ analog signal processing techniques. Channel optimization is employed to achieve good data bit error rate performance by equalizing the channel to a known and preferred target partial response. The “channel” has a channel response that includes the response of the path that writes encoded data as a signal from a write head onto a recording medium, the recording medium itself, the path that reads the encoded data as a signal, and circuitry that subsequently processes the read signal. Channel optimization mininizes a predefined metric, such as the root mean square (r.m.s.) of the error between the received, equalized samples (representing the equalized signal read from the disk) and the expected (or “ideal”) samples corresponding to the target partial response. Also, error samples used for channel optimization are computed and used every symbol period ‘T’.
User data is typically encoded using a run length limited (RLL) code before recording, and the read user data is typically detected with a sequence detector employing, for example, a Viterbi algorithm (i.e., a Viterbi detector). The algorithm of the Viterbi detector is based on, or is “matched”, to the preferred target partial response. Since the Viterbi detector is matched to a preferred and known target partial response, the channel is equalized to the same partial response to get optimum performance (bit error rate) from the Viterbi detector.
However, for servo data, encoders and detectors might not require channel equalization to a specific target partial response. Thus, channel optimization is not needed. In addition, equalizing the read signal containing the servo data based on minimizing a predefined metric might not provide optimum servo data error rate performance and might even degrade the servo data error rate performance. Prior art channel optimization metrics do not employ a priori knowledge about servo encoders and detectors to improve servo data error rate performance.
For a prior art recording system, servo data is encoded and written to a magnetic disk. The information from the disk that includes the servo data is read by a magnetic recording head and, after AC coupling, is applied to a variable gain amplifier (VGA) which adaptively adjusts the gain of the input signal to desirable levels. The output of the VGA is then equalized using a continuous time filter (CTF) and a finite impulse response (FIR) filter with a certain number of taps (usually 10 taps). Equalization is typically achieved by varying the cut-off frequency and the zero frequency of the CTF and by adaptively modifying the tap values, or weights, of the FIR filter. Since servo data is typically of very short length having few spectral frequency components, the FIR filter is generally not adaptively modified based on servo data. Instead, different programmable values for the FIR filter tap weights are tried by brute-force method for performance optimization.
The output signal of the FIR filter is digitized into samples y(kT) with an A/D converter (ADC), where T is the ideal symbol rate. ADC samples y(kT) are used by a servo data detector, such as a Viterbi or threshold detector, to detect encoded servo data (i.e., samples representing codeword symbols). The Viterbi detector may employ servo data encoder constraints generated by a codeword boundary synchronizer that detects boundaries between codewords in the encoded servo data. The detected encoded servo data is decoded to generate the SAM, Gray data, servo burst demod, and RRO information.
Convolving the detected data y(kT) with a known target partial response generates ideal samples ŷ(kT). For example, [0 0 1 1 1 1 0 0 0 0 1 1] equalized to target partial response [10 10 −10 −10] yields ŷ(kT) samples [20 10 0 −10 −20−10 0 10 20]. If e(kT) denotes the error between the received equalized samples y(kT) and the ideal samples ŷ(kT) corresponding to the target partial response, then e(kT) is calculated as in equation (1):e(kT)=y(kT)−ŷ(kT).  (1)
An optimization metric is calculated as the root mean square of the error e(kT). For design simplicity, the sum of squares of the error is also an optimization metric OM given in equation (2):
                              OM          =                                                    ∑                                  n                  =                  0                                                  N                  -                  1                                            ⁢                                                          ⁢                                                [                                      e                    ⁢                                                                                  ⁢                                          (                      nT                      )                                                        ]                                2                                      =                                          ∑                                  n                  =                  0                                                  N                  -                  1                                            ⁢                                                          ⁢                                                [                                                            y                      ⁢                                                                                          ⁢                                              (                        nT                        )                                                              -                                                                  y                        ^                                            ⁢                                                                                          ⁢                                              (                        nT                        )                                                                              ]                                2                                                    ,                            (        2        )            where N is the total number of bit periods over which the optimization metric is computed.
Prior art channel optimization equalizes the channel to a known and preferred target partial response by minimizing the OM of equation (2). The OM is computed over different settings of i) corner cut-off frequency and zero frequency of the CTF and ii) the FIR tap weight values. The CTF and FIR settings corresponding to the minimum OM are taken as the optimum setting for servo data detection. Error rate performance of a channel optimized based on a particular target partial response is limited by the choice of target partial response. Also, the chosen target partial response might not be optimum over a wide range of conditions, such as differing impulse responses of magnetic heads from different head manufacturers, different channel bit densities (CBDs), and differing media noise coloration.